package com.entity.taskorder;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 客户设备安装信息实体类
 */
@ApiModel("客户设备安装信息")
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("product_install_info")
public class ProductInstallInfo {

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "任务单ID（逻辑外键，关联任务单表）")
    @TableField("task_order_id")
    private Long taskOrderId;

    @ApiModelProperty(value = "产品ID（逻辑外键，关联产品表）")
    @TableField("product_id")
    private Long productId;

    @ApiModelProperty(value = "客户公司ID（逻辑外键，关联客户公司表）")
    @TableField("customer_company_id")
    private Long customerCompanyId;

    @ApiModelProperty(value = "安装地点（服务人员填入）")
    @TableField("installation_location")
    private String installationLocation;

    @ApiModelProperty(value = "仪表编号（服务人员填入）")
    @TableField("instrument_number")
    private String instrumentNumber;

    @ApiModelProperty(value = "产品购买日期（根据现场的表号确定）")
    @TableField("product_purchase_date")
    private String productPurchaseDate;

    @ApiModelProperty(value = "测量介质（如：水、气体、油等）")
    @TableField("measurement_medium")
    private String measurementMedium;

    @ApiModelProperty(value = "安全等级")
    @TableField("safety_level")
    private String safetyLevel;

    @ApiModelProperty(value = "安全注意事项")
    @TableField("safety_notes")
    private String safetyNotes;

    @ApiModelProperty(value = "通讯方式（如485通讯）")
    @TableField("communication_method")
    private String communicationMethod;

    @ApiModelProperty(value = "现场温度/压力（服务人员填入）")
    @TableField("field_temperature_pressure")
    private String fieldTemperaturePressure;

    @ApiModelProperty(value = "自控厂家")
    @TableField("control_manufacturer")
    private String controlManufacturer;

    @ApiModelProperty(value = "前后直管段（长度）")
    @TableField("front_and_back_pipe_segment")
    private String frontAndBackPipeSegment;

    @ApiModelProperty(value = "其他备注")
    @TableField("other_notes")
    private String otherNotes;

    @ApiModelProperty(value = "维修人员")
    @TableField("maintenance_person")
    private String maintenancePerson;

    @ApiModelProperty(value = "保修日期（服务人员填入）")
    @TableField("warranty_date")
    private String warrantyDate;

    @ApiModelProperty(value = "服务起止时间（服务人员填入）")
    @TableField("service_period")
    private String servicePeriod;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}